]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
sessionMode: Add hasWorkspaces property
authorFlorian Müllner <fmuellner@gnome.org>
Thu, 17 May 2012 13:32:32 +0000 (15:32 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Tue, 22 May 2012 17:42:28 +0000 (19:42 +0200)
Add a sessionMode.hasWorkspaces property, which determines whether
the concept of workspaces should be exposed in the interface or not.

https://bugzilla.gnome.org/show_bug.cgi?id=676156

js/ui/main.js
js/ui/sessionMode.js

index 04f04450962d30fa389fb6863715572bbb358e90..f4150c52a63ae5b473d4f56a5642b958cfba5bd9 100644 (file)
@@ -133,8 +133,6 @@ function _initRecorder() {
 
 function _initUserSession() {
     _initRecorder();
-
-    global.screen.override_workspace_layout(Meta.ScreenCorner.TOPLEFT, false, -1, 1);
 }
 
 function start() {
@@ -222,6 +220,10 @@ function start() {
     if (sessionMode.sessionType == Shell.SessionType.USER)
         _initUserSession();
 
+    if (sessionMode.hasWorkspaces)
+        global.screen.override_workspace_layout(Meta.ScreenCorner.TOPLEFT,
+                                                false, -1, 1);
+
     if (sessionMode.allowExtensions) {
         ExtensionSystem.init();
         ExtensionSystem.loadExtensions();
@@ -590,24 +592,32 @@ function _globalKeyPressHandler(actor, event) {
         return true;
     }
 
-    // None of the other bindings are relevant outside of the user's session
-    if (sessionMode.sessionType != Shell.SessionType.USER)
-        return false;
-
     switch (action) {
         // left/right would effectively act as synonyms for up/down if we enabled them;
         // but that could be considered confusing; we also disable them in the main view.
         //
         // case Meta.KeyBindingAction.WORKSPACE_LEFT:
+        //  if (!sessionMode.hasWorkspaces)
+        //      return false;
+        //
         //     wm.actionMoveWorkspaceLeft();
         //     return true;
         // case Meta.KeyBindingAction.WORKSPACE_RIGHT:
+        //  if (!sessionMode.hasWorkspaces)
+        //      return false;
+        //
         //     wm.actionMoveWorkspaceRight();
         //     return true;
         case Meta.KeyBindingAction.WORKSPACE_UP:
+            if (!sessionMode.hasWorkspaces)
+                return false;
+
             wm.actionMoveWorkspaceUp();
             return true;
         case Meta.KeyBindingAction.WORKSPACE_DOWN:
+            if (!sessionMode.hasWorkspaces)
+                return false;
+
             wm.actionMoveWorkspaceDown();
             return true;
         case Meta.KeyBindingAction.PANEL_RUN_DIALOG:
index a3edec5ae24705f37493e3ed8f5a9404c7455ff4..88d33c70df6de8c11e011f104c717db73f6dad46 100644 (file)
@@ -15,6 +15,7 @@ const _modes = {
              allowExtensions: false,
              allowKeybindingsWhenModal: true,
              hasRunDialog: false,
+             hasWorkspaces: false,
              sessionType: Shell.SessionType.GDM },
 
     'user': { hasOverview: true,
@@ -24,6 +25,7 @@ const _modes = {
               allowExtensions: true,
               allowKeybindingsWhenModal: false,
               hasRunDialog: true,
+              hasWorkspaces: true,
               sessionType: Shell.SessionType.USER }
 };